package com.ssm.po;

import java.util.ArrayList;
import java.util.List;

public class TaskInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TaskInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTaskidIsNull() {
            addCriterion("taskid is null");
            return (Criteria) this;
        }

        public Criteria andTaskidIsNotNull() {
            addCriterion("taskid is not null");
            return (Criteria) this;
        }

        public Criteria andTaskidEqualTo(Integer value) {
            addCriterion("taskid =", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidNotEqualTo(Integer value) {
            addCriterion("taskid <>", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidGreaterThan(Integer value) {
            addCriterion("taskid >", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidGreaterThanOrEqualTo(Integer value) {
            addCriterion("taskid >=", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidLessThan(Integer value) {
            addCriterion("taskid <", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidLessThanOrEqualTo(Integer value) {
            addCriterion("taskid <=", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidIn(List<Integer> values) {
            addCriterion("taskid in", values, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidNotIn(List<Integer> values) {
            addCriterion("taskid not in", values, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidBetween(Integer value1, Integer value2) {
            addCriterion("taskid between", value1, value2, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidNotBetween(Integer value1, Integer value2) {
            addCriterion("taskid not between", value1, value2, "taskid");
            return (Criteria) this;
        }

        public Criteria andOrdertimeIsNull() {
            addCriterion("ordertime is null");
            return (Criteria) this;
        }

        public Criteria andOrdertimeIsNotNull() {
            addCriterion("ordertime is not null");
            return (Criteria) this;
        }

        public Criteria andOrdertimeEqualTo(String value) {
            addCriterion("ordertime =", value, "ordertime");
            return (Criteria) this;
        }

        public Criteria andOrdertimeNotEqualTo(String value) {
            addCriterion("ordertime <>", value, "ordertime");
            return (Criteria) this;
        }

        public Criteria andOrdertimeGreaterThan(String value) {
            addCriterion("ordertime >", value, "ordertime");
            return (Criteria) this;
        }

        public Criteria andOrdertimeGreaterThanOrEqualTo(String value) {
            addCriterion("ordertime >=", value, "ordertime");
            return (Criteria) this;
        }

        public Criteria andOrdertimeLessThan(String value) {
            addCriterion("ordertime <", value, "ordertime");
            return (Criteria) this;
        }

        public Criteria andOrdertimeLessThanOrEqualTo(String value) {
            addCriterion("ordertime <=", value, "ordertime");
            return (Criteria) this;
        }

        public Criteria andOrdertimeLike(String value) {
            addCriterion("ordertime like", value, "ordertime");
            return (Criteria) this;
        }

        public Criteria andOrdertimeNotLike(String value) {
            addCriterion("ordertime not like", value, "ordertime");
            return (Criteria) this;
        }

        public Criteria andOrdertimeIn(List<String> values) {
            addCriterion("ordertime in", values, "ordertime");
            return (Criteria) this;
        }

        public Criteria andOrdertimeNotIn(List<String> values) {
            addCriterion("ordertime not in", values, "ordertime");
            return (Criteria) this;
        }

        public Criteria andOrdertimeBetween(String value1, String value2) {
            addCriterion("ordertime between", value1, value2, "ordertime");
            return (Criteria) this;
        }

        public Criteria andOrdertimeNotBetween(String value1, String value2) {
            addCriterion("ordertime not between", value1, value2, "ordertime");
            return (Criteria) this;
        }

        public Criteria andTaketimeIsNull() {
            addCriterion("taketime is null");
            return (Criteria) this;
        }

        public Criteria andTaketimeIsNotNull() {
            addCriterion("taketime is not null");
            return (Criteria) this;
        }

        public Criteria andTaketimeEqualTo(String value) {
            addCriterion("taketime =", value, "taketime");
            return (Criteria) this;
        }

        public Criteria andTaketimeNotEqualTo(String value) {
            addCriterion("taketime <>", value, "taketime");
            return (Criteria) this;
        }

        public Criteria andTaketimeGreaterThan(String value) {
            addCriterion("taketime >", value, "taketime");
            return (Criteria) this;
        }

        public Criteria andTaketimeGreaterThanOrEqualTo(String value) {
            addCriterion("taketime >=", value, "taketime");
            return (Criteria) this;
        }

        public Criteria andTaketimeLessThan(String value) {
            addCriterion("taketime <", value, "taketime");
            return (Criteria) this;
        }

        public Criteria andTaketimeLessThanOrEqualTo(String value) {
            addCriterion("taketime <=", value, "taketime");
            return (Criteria) this;
        }

        public Criteria andTaketimeLike(String value) {
            addCriterion("taketime like", value, "taketime");
            return (Criteria) this;
        }

        public Criteria andTaketimeNotLike(String value) {
            addCriterion("taketime not like", value, "taketime");
            return (Criteria) this;
        }

        public Criteria andTaketimeIn(List<String> values) {
            addCriterion("taketime in", values, "taketime");
            return (Criteria) this;
        }

        public Criteria andTaketimeNotIn(List<String> values) {
            addCriterion("taketime not in", values, "taketime");
            return (Criteria) this;
        }

        public Criteria andTaketimeBetween(String value1, String value2) {
            addCriterion("taketime between", value1, value2, "taketime");
            return (Criteria) this;
        }

        public Criteria andTaketimeNotBetween(String value1, String value2) {
            addCriterion("taketime not between", value1, value2, "taketime");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeIsNull() {
            addCriterion("aboutovertime is null");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeIsNotNull() {
            addCriterion("aboutovertime is not null");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeEqualTo(String value) {
            addCriterion("aboutovertime =", value, "aboutovertime");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeNotEqualTo(String value) {
            addCriterion("aboutovertime <>", value, "aboutovertime");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeGreaterThan(String value) {
            addCriterion("aboutovertime >", value, "aboutovertime");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeGreaterThanOrEqualTo(String value) {
            addCriterion("aboutovertime >=", value, "aboutovertime");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeLessThan(String value) {
            addCriterion("aboutovertime <", value, "aboutovertime");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeLessThanOrEqualTo(String value) {
            addCriterion("aboutovertime <=", value, "aboutovertime");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeLike(String value) {
            addCriterion("aboutovertime like", value, "aboutovertime");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeNotLike(String value) {
            addCriterion("aboutovertime not like", value, "aboutovertime");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeIn(List<String> values) {
            addCriterion("aboutovertime in", values, "aboutovertime");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeNotIn(List<String> values) {
            addCriterion("aboutovertime not in", values, "aboutovertime");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeBetween(String value1, String value2) {
            addCriterion("aboutovertime between", value1, value2, "aboutovertime");
            return (Criteria) this;
        }

        public Criteria andAboutovertimeNotBetween(String value1, String value2) {
            addCriterion("aboutovertime not between", value1, value2, "aboutovertime");
            return (Criteria) this;
        }

        public Criteria andOvertimeIsNull() {
            addCriterion("overtime is null");
            return (Criteria) this;
        }

        public Criteria andOvertimeIsNotNull() {
            addCriterion("overtime is not null");
            return (Criteria) this;
        }

        public Criteria andOvertimeEqualTo(String value) {
            addCriterion("overtime =", value, "overtime");
            return (Criteria) this;
        }

        public Criteria andOvertimeNotEqualTo(String value) {
            addCriterion("overtime <>", value, "overtime");
            return (Criteria) this;
        }

        public Criteria andOvertimeGreaterThan(String value) {
            addCriterion("overtime >", value, "overtime");
            return (Criteria) this;
        }

        public Criteria andOvertimeGreaterThanOrEqualTo(String value) {
            addCriterion("overtime >=", value, "overtime");
            return (Criteria) this;
        }

        public Criteria andOvertimeLessThan(String value) {
            addCriterion("overtime <", value, "overtime");
            return (Criteria) this;
        }

        public Criteria andOvertimeLessThanOrEqualTo(String value) {
            addCriterion("overtime <=", value, "overtime");
            return (Criteria) this;
        }

        public Criteria andOvertimeLike(String value) {
            addCriterion("overtime like", value, "overtime");
            return (Criteria) this;
        }

        public Criteria andOvertimeNotLike(String value) {
            addCriterion("overtime not like", value, "overtime");
            return (Criteria) this;
        }

        public Criteria andOvertimeIn(List<String> values) {
            addCriterion("overtime in", values, "overtime");
            return (Criteria) this;
        }

        public Criteria andOvertimeNotIn(List<String> values) {
            addCriterion("overtime not in", values, "overtime");
            return (Criteria) this;
        }

        public Criteria andOvertimeBetween(String value1, String value2) {
            addCriterion("overtime between", value1, value2, "overtime");
            return (Criteria) this;
        }

        public Criteria andOvertimeNotBetween(String value1, String value2) {
            addCriterion("overtime not between", value1, value2, "overtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeIsNull() {
            addCriterion("endtime is null");
            return (Criteria) this;
        }

        public Criteria andEndtimeIsNotNull() {
            addCriterion("endtime is not null");
            return (Criteria) this;
        }

        public Criteria andEndtimeEqualTo(String value) {
            addCriterion("endtime =", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotEqualTo(String value) {
            addCriterion("endtime <>", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeGreaterThan(String value) {
            addCriterion("endtime >", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeGreaterThanOrEqualTo(String value) {
            addCriterion("endtime >=", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLessThan(String value) {
            addCriterion("endtime <", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLessThanOrEqualTo(String value) {
            addCriterion("endtime <=", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLike(String value) {
            addCriterion("endtime like", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotLike(String value) {
            addCriterion("endtime not like", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeIn(List<String> values) {
            addCriterion("endtime in", values, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotIn(List<String> values) {
            addCriterion("endtime not in", values, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeBetween(String value1, String value2) {
            addCriterion("endtime between", value1, value2, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotBetween(String value1, String value2) {
            addCriterion("endtime not between", value1, value2, "endtime");
            return (Criteria) this;
        }

        public Criteria andCancletimeIsNull() {
            addCriterion("cancletime is null");
            return (Criteria) this;
        }

        public Criteria andCancletimeIsNotNull() {
            addCriterion("cancletime is not null");
            return (Criteria) this;
        }

        public Criteria andCancletimeEqualTo(String value) {
            addCriterion("cancletime =", value, "cancletime");
            return (Criteria) this;
        }

        public Criteria andCancletimeNotEqualTo(String value) {
            addCriterion("cancletime <>", value, "cancletime");
            return (Criteria) this;
        }

        public Criteria andCancletimeGreaterThan(String value) {
            addCriterion("cancletime >", value, "cancletime");
            return (Criteria) this;
        }

        public Criteria andCancletimeGreaterThanOrEqualTo(String value) {
            addCriterion("cancletime >=", value, "cancletime");
            return (Criteria) this;
        }

        public Criteria andCancletimeLessThan(String value) {
            addCriterion("cancletime <", value, "cancletime");
            return (Criteria) this;
        }

        public Criteria andCancletimeLessThanOrEqualTo(String value) {
            addCriterion("cancletime <=", value, "cancletime");
            return (Criteria) this;
        }

        public Criteria andCancletimeLike(String value) {
            addCriterion("cancletime like", value, "cancletime");
            return (Criteria) this;
        }

        public Criteria andCancletimeNotLike(String value) {
            addCriterion("cancletime not like", value, "cancletime");
            return (Criteria) this;
        }

        public Criteria andCancletimeIn(List<String> values) {
            addCriterion("cancletime in", values, "cancletime");
            return (Criteria) this;
        }

        public Criteria andCancletimeNotIn(List<String> values) {
            addCriterion("cancletime not in", values, "cancletime");
            return (Criteria) this;
        }

        public Criteria andCancletimeBetween(String value1, String value2) {
            addCriterion("cancletime between", value1, value2, "cancletime");
            return (Criteria) this;
        }

        public Criteria andCancletimeNotBetween(String value1, String value2) {
            addCriterion("cancletime not between", value1, value2, "cancletime");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreIsNull() {
            addCriterion("evaluatescore is null");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreIsNotNull() {
            addCriterion("evaluatescore is not null");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreEqualTo(String value) {
            addCriterion("evaluatescore =", value, "evaluatescore");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreNotEqualTo(String value) {
            addCriterion("evaluatescore <>", value, "evaluatescore");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreGreaterThan(String value) {
            addCriterion("evaluatescore >", value, "evaluatescore");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreGreaterThanOrEqualTo(String value) {
            addCriterion("evaluatescore >=", value, "evaluatescore");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreLessThan(String value) {
            addCriterion("evaluatescore <", value, "evaluatescore");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreLessThanOrEqualTo(String value) {
            addCriterion("evaluatescore <=", value, "evaluatescore");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreLike(String value) {
            addCriterion("evaluatescore like", value, "evaluatescore");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreNotLike(String value) {
            addCriterion("evaluatescore not like", value, "evaluatescore");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreIn(List<String> values) {
            addCriterion("evaluatescore in", values, "evaluatescore");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreNotIn(List<String> values) {
            addCriterion("evaluatescore not in", values, "evaluatescore");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreBetween(String value1, String value2) {
            addCriterion("evaluatescore between", value1, value2, "evaluatescore");
            return (Criteria) this;
        }

        public Criteria andEvaluatescoreNotBetween(String value1, String value2) {
            addCriterion("evaluatescore not between", value1, value2, "evaluatescore");
            return (Criteria) this;
        }

        public Criteria andEvaluateIsNull() {
            addCriterion("evaluate is null");
            return (Criteria) this;
        }

        public Criteria andEvaluateIsNotNull() {
            addCriterion("evaluate is not null");
            return (Criteria) this;
        }

        public Criteria andEvaluateEqualTo(String value) {
            addCriterion("evaluate =", value, "evaluate");
            return (Criteria) this;
        }

        public Criteria andEvaluateNotEqualTo(String value) {
            addCriterion("evaluate <>", value, "evaluate");
            return (Criteria) this;
        }

        public Criteria andEvaluateGreaterThan(String value) {
            addCriterion("evaluate >", value, "evaluate");
            return (Criteria) this;
        }

        public Criteria andEvaluateGreaterThanOrEqualTo(String value) {
            addCriterion("evaluate >=", value, "evaluate");
            return (Criteria) this;
        }

        public Criteria andEvaluateLessThan(String value) {
            addCriterion("evaluate <", value, "evaluate");
            return (Criteria) this;
        }

        public Criteria andEvaluateLessThanOrEqualTo(String value) {
            addCriterion("evaluate <=", value, "evaluate");
            return (Criteria) this;
        }

        public Criteria andEvaluateLike(String value) {
            addCriterion("evaluate like", value, "evaluate");
            return (Criteria) this;
        }

        public Criteria andEvaluateNotLike(String value) {
            addCriterion("evaluate not like", value, "evaluate");
            return (Criteria) this;
        }

        public Criteria andEvaluateIn(List<String> values) {
            addCriterion("evaluate in", values, "evaluate");
            return (Criteria) this;
        }

        public Criteria andEvaluateNotIn(List<String> values) {
            addCriterion("evaluate not in", values, "evaluate");
            return (Criteria) this;
        }

        public Criteria andEvaluateBetween(String value1, String value2) {
            addCriterion("evaluate between", value1, value2, "evaluate");
            return (Criteria) this;
        }

        public Criteria andEvaluateNotBetween(String value1, String value2) {
            addCriterion("evaluate not between", value1, value2, "evaluate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}